import { defineStore } from 'pinia'
import { useUserStore } from '@/store/modules/user'

export const useAgentStore = defineStore('agent',{
  state: () => {
    return {
      agentInfo: {
        agentNo: '',  // 用于默认机构号 （创建活动时、创建卡券等默认机构号；例如：运营端河南这边时郑州，吉林那边是长春，机构端默认机构号即本身绑定的机构号）
        rootAgentNo: '',
        agentName: '',
        rootAgentName: '',
      },
      proxyListAgentNo: '', // 机构列表 请求数据 所使用的根节点 运营就是河南省 机构就是当前归属的机构号
      channelBaseUrl: '',
      hostname: window.location.hostname
    }
  },
  actions: {
    initAgentStore(){  // 初始化store
      this.setAgentInfo()
      this.setChannelBaseUrl()
      this.setProxyListAgentNo()
    },
    setProxyListAgentNo() { // 设置机构列表根节点
      // 判断当前用户登陆平台 MANAGER或者PROXY
      const userInfo = useUserStore().userInfo
      const sysType = userInfo.sysType
      if(sysType === 'PROXY'){ // 机构端
        this.proxyListAgentNo = userInfo.belongInfoId
      }else{  // 运营端
        this.proxyListAgentNo = process.env.ROOT_AGENT_NO || ''
      }
    },
    setChannelBaseUrl() { // 设置渠道地址
      this.channelBaseUrl = process.env.CHANNEL_BASE_URL || ''
    },
    setAgentInfo() {
      const userInfo = useUserStore().userInfo
      const sysType = userInfo.sysType

      this.agentInfo.agentName = process.env.AGENT_NAME || ''
      this.agentInfo.rootAgentName = process.env.ROOT_AGENT_NAME || ''
      this.agentInfo.rootAgentNo = process.env.ROOT_AGENT_NO || ''
      this.agentInfo.agentNo = process.env.AGENT_NO || ''

      if(sysType === 'PROXY'){ // 机构端
        this.agentInfo.agentNo = userInfo.belongInfoId
        this.agentInfo.rootAgentNo = userInfo.belongInfoId
      }
    }
  }
})